package io.kiki.sba.registry.common.model.slot;


import io.kiki.sba.registry.common.model.dataserver.DatumSummary;
import io.kiki.sba.registry.common.model.slot.filter.SyncSlotAcceptorManager;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

@Setter
@Getter

public class DataSlotDiffPublisherRequest implements Serializable {

    private final String localDataCenter;
    private final long slotsEpoch;
    // parts of the summary to diff sync
    private final List<DatumSummary> datumSummaries;
    private final int slotId;

    private final SyncSlotAcceptorManager acceptorManager;

    public DataSlotDiffPublisherRequest(String localDataCenter, long slotsEpoch, int slotId, SyncSlotAcceptorManager acceptorManager, Collection<DatumSummary> datumSummaries) {
        this.localDataCenter = localDataCenter;
        this.slotsEpoch = slotsEpoch;
        this.slotId = slotId;
        this.acceptorManager = acceptorManager;
        this.datumSummaries = datumSummaries == null ? new ArrayList<>(0) : new ArrayList<>(datumSummaries);
    }


}
